import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

class Sieve {
    private List<Integer> listPrimes = new ArrayList<>();
    private Integer maxPrime;

    Sieve(int maxPrime) {
        this.maxPrime = maxPrime;
        if (maxPrime >= 2){
            this.listPrimes.add(2);
        }
    }

    List<Integer> getPrimes() {

        for (int i = 3; i <= this.maxPrime; ) {
            boolean isPrime = true;
            for (Integer listPrime : listPrimes) {
                if (i % listPrime == 0) {
                    isPrime = false;
                    break;
                }
            }
            if (isPrime) {
                listPrimes.add(i);
            }
            i = i + 2;
        }

        return listPrimes;
    }
}
